using System;

namespace kk.components.contracts
{
    public class Request<TRequest, TResponse>
    {
        public Request(TRequest requestData, Action<TResponse> responsePin) {
            RequestData = requestData;
            ResponsePin = responsePin;
        }

        public TRequest RequestData { get; private set; }

        public Action<TResponse> ResponsePin { get; private set;}
    }

    public class Request<TResponse>
    {
        public Request(Action<TResponse> responsePin) {
            ResponsePin = responsePin;
        }

        public Action<TResponse> ResponsePin { get; private set;}
    }
}